E-레디네스 프로브와 레디네스 게이트
개요
레디네스라 하면, 서비스가 작동되는 기준을 말한다.
클러스터 내에서 제대로 동작하기 위한 준비가 되었는지를 확인하기 위해 사용되는 개념.
근데 레디네스 게이트(readiness gate), 레디네스 프로브(readiness probe)가 각각 존재하는데 이것은 무슨 차이를 가질까?
Readiness Probe
프로브는 트래픽을 컨테이너가 처리할 수 있는 상태인지 결정한다.
이게 false 상태일 경우 쿠버네티스는 서비스 엔드포인트에서 해당 파드를 제거한다.
이것은 컨테이너에 대해서 작용하는 개념이다.
Readiness Gate
파드의 생애주기#레디네스 참고.
파드의 레디네스를 나타내는 개념이다.
엔지니어는 컨테이너 상태 말고도 다른 요인으로 레디네스를 평가하게 하고 싶을 수 있다.
이때 파드 컨디션에 커스터마이징된 값을 넣어서 그것을 레디네스로 활용할 수 있다.
이게 사용되는 사례가 무엇인가?
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/deploy/pod_readiness_gate/
aws의 로드밸런서 컨트롤러에서 헬스체크를 할 때, 타겟 타입을 ip로 하거나 instance로 할 수 있는데, 이런 커스터마이징을 할 때 활용된다.
aws 로드 밸런서 컨트롤러를 예전에 너무 간략하게만 사용해봐서 상세한 사용법은 잘 모르지만,
결론
아무튼 둘 다 파드의 준비 상태를 표현하기 위해 쓰이는 방식임에는 다름이 없다.
이렇게 파드 내부 컨테이너들이 준비되었을 때, 명시된 readinessGates가 참일 때만 파드는 준비가 되었다고 판단되기 때문이다.
만약 readinessGate가 없거나 거짓인 경우에 대해서 파드는 ContainerReady만 참이 된다.
파드의 생애주기#파드 컨디션(condition)을 참고하자.